package events
{
	import flash.events.Event;
	
	/**
	 * A class for custom events used in the game. The primary
	 * usage for this is to store a bunch of parameters that we
	 * want to pass along through various UI components.
	 */
	public class GCEvent extends Event
	{	
		/*
		 * User selected a valid username
		 */
		public static const SELECTED_USER_NAME_EVENT:String = "SelectedUserName";
		 
		/*
		 * Switching Menu Events
		 */
		public static const GO_TO_MARKET_EVENT:String = "GotoMarket";
		public static const GO_TO_WAREHOUSE_EVENT:String = "GotoWarehouse";
		public static const GO_TO_BUILD_POST_EVENT:String = "GotoBuildPost";
		public static const GO_TO_ASSIGN_JOB_EVENT:String = "GotoAssignJobs";
		public static const GO_TO_CITY_EVENT:String = "GotoCity";
		
		/*
		 * Body Bar Button Click Events 
		 */
		public static const OPEN_SHIP_INVENTORY_EVENT:String = "OpenShipInventory";
		public static const OPEN_SYNTHESIZE_EVENT:String = "OpenSynthesize";
		public static const OPEN_SHIP_REPAIR_EVENT:String = "OpenShipRepair";
		public static const OPEN_TROPHY_ROOM_EVENT:String = "OpenTrophyRoom";
		public static const OPEN_WORLD_MAP:String = "OpenWorldMap";

		 
		public static const CHANGE_CITY_EVENT:String = "ChangeCity";

		public static const BUTTON_CLICKED_EVENT:String = "ButtonClicked";
		
		public static const POPUP_CLOSED_EVENT:String = "PopupClosed";
		
		public static const LIST_ITEM_SELECTED_EVENT:String = "ListItemSelected";
		
		public static const VIEW_WAREHOUSE_REMOTELY_EVENT:String = "ViewWareHouseRemotely";
		public static const VIEW_MARKET_REMOTELY_EVENT:String = "";
		
		public static const QUEST_RESOLVED_EVENT:String = "QuestResolved";
		public static const ADD_NEW_QUESTS_EVENT:String = "Add new quests";
				
		/*
		 * Ship upgrade stuff
		 */
		public static const UPGRADE_SELECTED_EVENT:String = "SelectedUpgrade";
		public static const UPGRADE_CHANGED_EVENT:String = "ChangedUpgrades";
		
		/*
		 * Menu Managing Events 
		 */
		public static const BUY_CONFIRM_EVENT:String = "BuyConfirmedEvent";
		public static const SELL_CONFIRM_EVENT:String = "SellConfirmEvent";
		public static const LOAD_CONFIRM_EVENT:String = "LoadConfirmEvent";
		public static const UNLOAD_CONFIRM_EVENT:String = "UnloadConfirmEvent";
		public static const DISCARD_CONFIRM_EVENT:String = "DiscardConfirmEvent";
		public static const CANCEL_EVENT:String = "CancelEvent";
		public static const CONFIRM_MENU_EVENT:String = "ConfirmMenu";
		public static const CANCEL_MENU_EVENT:String = "CancelMenu";
		public static const EXIT_MENU_EVENT:String = "ExitMenu";
		public static const CHANGE_ACTIVE_SHIP_EVENT:String = "ChangeActiveShipEvent";
		public static const REFRESH_MENU_EVENT:String = "Refresh Menus";

		
		// Number Scroller Events
		public static const VALUE_CHANGED_EVENT:String = "ValueChangedEvent";
		public static const VALUE_INCREASE_EVENT:String = "ValueIncreaed";
		public static const VALUE_DECREASE_EVENT:String = "ValueDecreased";
		
		public static const CONTRIBUTED_NPC_ORDER:String = "ContributedToOrder";
		
		public function GCEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
		{
			super(type, bubbles, cancelable);
		}		
	}
}